const Path = require('path');

//输出模式
const isProd = process.env.NODE_ENV === 'production';

// 传入一个绝对路径，作为入口文件
const file = Path.join(__dirname, '../index.html');
// OR: Multiple files with globbing (can also be .js)
// const entryFiles = './src/*.js';
// OR: Multiple files in an array
// const entryFiles = ['./src/index.html', './some/other/directory/scripts.js'];

module.exports = {
    isProd: isProd,
    entry: file, // 入口文件路径
    options: {
        outDir: './dist', // 将生成的文件放入输出目录下，默认为 dist
        outFile: 'index.html', // 输出文件的名称
        publicUrl: isProd ? './' : '/', // 静态资源的 url ，默认为 '/'，devServer开发时设置'./'会出路径错误
        watch: !isProd, // 是否需要监听文件并在发生改变时重新编译它们，默认为 process.env.NODE_ENV !== 'production'
        cache: true, // 启用或禁用缓存，默认为 true
        cacheDir: '.cache', // 存放缓存的目录，默认为 .cache
        minify: isProd, // 压缩文件，当 process.env.NODE_ENV === 'production' 时，会启用
        target: 'browser', // 浏览器/node/electron, 默认为 browser
        https: false, // 服务器文件使用 https 或者 http，默认为 false
        logLevel: 3, // 3 = 输出所有内容，2 = 输出警告和错误, 1 = 输出错误
        hmrPort: 0, // hmr socket 运行的端口，默认为随机空闲端口(在 Node.js 中，0 会被解析为随机空闲端口)
        sourceMaps: !isProd, // 启用或禁用 sourcemaps，默认为启用(在精简版本中不支持)
        hmrHostname: '', // 热模块重载的主机名，默认为 ''
        detailedReport: isProd // 打印 bundles、资源、文件大小和使用时间的详细报告，默认为 false，只有在禁用监听状态时才打印报告
    },
    proxyOption: {
        target: `https://webzjac.reg.163.com`,
        changeOrigin: true, // 如果接口跨域，需要进行这个参数配置 将主机头的源更改为目标URL
        ws: true, // 如果你想要代理websockets
        secure: true, // https SSL证书
        pathRewrite: {
            '^/cors': ''
        }
    },
    exOptions: {
        dev: {
            port: 8080
        }
    }
}